package team.knowers.qzh.qzhserver.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import org.apache.commons.math3.geometry.spherical.oned.LimitAngle;
import team.knowers.qzh.qzhserver.dao.entity.SubjectDO;
import team.knowers.qzh.qzhserver.dto.req.PageSubjectCourseReqDTO;
import team.knowers.qzh.qzhserver.dto.resp.CourseSimpleRespDTO;
import team.knowers.qzh.qzhserver.dto.resp.ListSubjectsRespDTO;
import team.knowers.qzh.qzhserver.dto.resp.SubjectDetailsRespDTO;

import java.util.List;

/**
 * 专业接口层
 *
 * @author xtg
 */
public interface SubjectService extends IService<SubjectDO> {
    /**
     * 显示所有专业
     */
    List<ListSubjectsRespDTO> listSubjects();

    /**
     * 显示单个专业详细信息
     */
    SubjectDetailsRespDTO subjectDetails(Long subjectId);

    /**
     * 按最新发布时间 分页显示当前专业的课程
     */
    IPage<CourseSimpleRespDTO> pageSubjectCourseByTimeDesc(PageSubjectCourseReqDTO reqDTO);
    /**
     * 按销量 分页显示当前专业的课程
     */
    IPage<CourseSimpleRespDTO> pageSubjectCourseBySalesVolumeDesc(PageSubjectCourseReqDTO reqDTO);

}
